前言

  • 实体类建好了,那么下面我们来建和数据库打交道的ServiceMapper类 。
  • 因为这俩兄弟是为业务服务的,不需要被其他服务调用,所以会放到blade-demo这个业务工程内。
  • 若其他服务需要调用本服务的一些API,则需要用到微服务远程调用,而不是直接引用ServiceMapper
  • 微服务远程调用将在下一章节讲解。

创建package

blade-demo中新建servicemapper两个package

创建Service

  1. 创建名为BlogService的接口类
  2. 创建名为BlogServiceImpl的接口实现类(放在service的imp包下)

创建Mapper

  1. 创建名为BlogMapper的接口类
  2. 创建名为BlogMapper的XML文件
  3. BlogMapper.xml内容如下,通用查询映射结果则做到了实体类与数据库字段对应的关系
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.demo.mapper.BlogMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="blogResultMap" type="org.springblade.demo.entity.Blog">
        <result column="id" property="id"/>
        <result column="blog_title" property="blogTitle"/>
        <result column="blog_content" property="blogContent"/>
        <result column="blog_date" property="blogDate"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>

</mapper>


4. 注意BlogMapper.xmlnamespaceresultMaptype要指向正确的地址
5. namespace指向对应的BlogMapper.java接口类 ,type指向对应的Blog.java实体类

增加配置

  1. BlogMapper增加mybatis-plus的配置
package org.springbalde.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.demo.entity.Blog;

public interface BlogMapper extends BaseMapper<Blog> {

}
  1. BlogService增加mybatis-plus的配置
package org.springbalde.demo.service;


import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.demo.entity.Blog;

public interface BlogService extends IService<Blog> {

}
  1. BlogServiceImpl增加mybatis-plus的配置
package org.springbalde.demo.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springbalde.demo.mapper.BlogMapper;
import org.springbalde.demo.service.BlogService;
import org.springblade.demo.entity.Blog;
import org.springframework.stereotype.Service;

@Service
public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements BlogService{

}

注意

BladeX默认的mybatis扫描包名为org.springblade,不在此目录下的bean无法被mybatis扫描到,但大家作为各自的项目,新的服务肯定会使用其他的包名,这种情况需要自己额外定义一个配置类,配置包扫描的路径,以及mybatis-plus扫描bean-alias的配置。

结束

好了,与mybatis-plus的集成已经结束,那么下面我们开始与数据库交互的第一步,增删改查的基本做法吧!